<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 函数的知识点 一，声明函数
        //                1，一次声明，多次使用的函数块
        //                2，参数：形参，实参
        //                3、返回值：函数运行的结果
        //              二、函数声明提升
        //              三、匿名函数
        //              四、函数表达式
        //              五、方法：属于某一个对象的函数
        // function fun(n,m){              //函数声明 放在console之后也能执行，此时就叫声明提升
        //     return n + m;               //返回值 return
        // }
        // let result1 = fun(10,20);       
        // let result2 = fun(100,200);     //一次声明多次调用
        // console.log(result1,result2);

        //匿名函数
        // function fun(){
        //     console.log("hello world")
        // }
        // setInterval(fun,1000);       //此时的fun()函数只可能被调用一次，就可以简写为匿名函数

        //回调函数，将匿名函数作为参数传递给另外一个函数 或方法            
        // setInterval(function(){          //将fun函数传递给setInterval延时函数
        //     console.log("hello world")
        // }, 1000);

        // 函数表达式
        // const fun = function(n,m){    //函数表达式可以 被连续调用，但不可以函数表达式提升
        //     return n + m
        // },
        // result1 = fun(1,2);
        // result2 = fun(2,3);
        // console.log(result1,result2)     

        //方法  对象的函数就是方法
        const cat = { 
            name :"xiaomiao",
            // sayName:function(){
            //     console.log(this.name)
            // }
            ayName(){
                console.log(this.name)        //与上面输出一样，这个是新版本语法，简写了
            }                                  //缩减了冒号:和function
        }
        cat.sayName()             
        
    </script>
</body>
</html>